﻿using System;
using System.Collections.Generic;
using TaleWorlds.CampaignSystem.Actions;
using TaleWorlds.CampaignSystem.BarterSystem;
using TaleWorlds.CampaignSystem.BarterSystem.Barterables;
using TaleWorlds.CampaignSystem.CampaignBehaviors;
using TaleWorlds.CampaignSystem.CharacterDevelopment;
using TaleWorlds.CampaignSystem.ComponentInterfaces;
using TaleWorlds.CampaignSystem.Conversation.Persuasion;
using TaleWorlds.CampaignSystem.CraftingSystem;
using TaleWorlds.CampaignSystem.Election;
using TaleWorlds.CampaignSystem.Encounters;
using TaleWorlds.CampaignSystem.GameState;
using TaleWorlds.CampaignSystem.Issues;
using TaleWorlds.CampaignSystem.Issues.IssueQuestTasks;
using TaleWorlds.CampaignSystem.LogEntries;
using TaleWorlds.CampaignSystem.Map;
using TaleWorlds.CampaignSystem.MapEvents;
using TaleWorlds.CampaignSystem.MapNotificationTypes;
using TaleWorlds.CampaignSystem.Party;
using TaleWorlds.CampaignSystem.Party.PartyComponents;
using TaleWorlds.CampaignSystem.Roster;
using TaleWorlds.CampaignSystem.SaveCompability;
using TaleWorlds.CampaignSystem.Settlements;
using TaleWorlds.CampaignSystem.Settlements.Buildings;
using TaleWorlds.CampaignSystem.Settlements.Locations;
using TaleWorlds.CampaignSystem.Settlements.Workshops;
using TaleWorlds.CampaignSystem.Siege;
using TaleWorlds.CampaignSystem.TournamentGames;
using TaleWorlds.Core;
using TaleWorlds.Library;
using TaleWorlds.ObjectSystem;
using TaleWorlds.SaveSystem;

namespace TaleWorlds.CampaignSystem
{
	// Token: 0x0200009C RID: 156
	public class SaveableCampaignTypeDefiner : SaveableTypeDefiner
	{
		// Token: 0x06001172 RID: 4466 RVA: 0x0004EFBE File Offset: 0x0004D1BE
		public SaveableCampaignTypeDefiner() : base(330000)
		{
		}

		// Token: 0x06001173 RID: 4467 RVA: 0x0004EFCC File Offset: 0x0004D1CC
		protected override void DefineClassTypes()
		{
			base.AddClassDefinition(typeof(Army), 3, null);
			base.AddClassDefinition(typeof(BarterManager), 4, null);
			base.AddClassDefinition(typeof(BarterResult), 12, null);
			base.AddClassDefinition(typeof(Building), 13, null);
			base.AddClassDefinition(typeof(BuildingType), 15, null);
			base.AddClassDefinition(typeof(Campaign), 16, null);
			base.AddClassDefinition(typeof(CampaignBehaviorDataStore), 17, null);
			base.AddClassDefinition(typeof(CampaignInformationManager), 22, null);
			base.AddClassDefinition(typeof(CampaignObjectBase), 23, null);
			base.AddClassDefinition(typeof(MapTimeTracker), 24, null);
			base.AddClassDefinition(typeof(CharacterPerks), 26, null);
			base.AddClassDefinition(typeof(CharacterTraits), 27, null);
			base.AddClassDefinition(typeof(HeroTraitDeveloper), 28, null);
			base.AddClassDefinition(typeof(HeroDeveloper), 29, null);
			base.AddClassDefinition(typeof(CharacterObject), 30, null);
			base.AddClassDefinition(typeof(CharacterRelationManager), 31, null);
			base.AddClassDefinition(typeof(Clan), 32, null);
			base.AddClassDefinition(typeof(Alley), 33, null);
			base.AddClassDefinition(typeof(Concept), 35, null);
			base.AddClassDefinition(typeof(CultureTrait), 37, null);
			base.AddClassDefinition(typeof(CultureObject), 38, null);
			base.AddClassDefinition(typeof(FactionManager), 42, null);
			base.AddClassDefinition(typeof(MapStateData), 46, null);
			base.AddClassDefinition(typeof(MenuContext), 47, null);
			base.AddClassDefinition(typeof(Hero), 48, null);
			base.AddClassDefinition(typeof(Hideout), 49, null);
			base.AddClassDefinition(typeof(IssueBase), 50, null);
			base.AddClassDefinition(typeof(IssueEffect), 51, null);
			base.AddClassDefinition(typeof(IssueManager), 52, null);
			base.AddClassDefinition(typeof(Kingdom), 53, null);
			base.AddClassDefinition(typeof(KingdomManager), 54, null);
			base.AddClassDefinition(typeof(Location), 55, null);
			base.AddClassDefinition(typeof(AccompanyingCharacter), 56, null);
			base.AddClassDefinition(typeof(LocationComplex), 57, null);
			base.AddClassDefinition(typeof(LogEntry), 60, null);
			base.AddClassDefinition(typeof(LogEntryHistory), 61, null);
			base.AddClassDefinition(typeof(MapEvent), 63, null);
			base.AddClassDefinition(typeof(MapEventManager), 64, null);
			base.AddClassDefinition(typeof(MapEventParty), 65, null);
			base.AddClassDefinition(typeof(LootCollector), 66, null);
			base.AddClassDefinition(typeof(MapEventSide), 67, null);
			base.AddClassDefinition(typeof(FakeMarketData), 68, null);
			base.AddClassDefinition(typeof(VillageMarketData), 69, null);
			base.AddClassDefinition(typeof(TownMarketData), 70, null);
			base.AddClassDefinition(typeof(PartyTemplateObject), 71, null);
			base.AddClassDefinition(typeof(MobileParty), 74, null);
			base.AddClassDefinition(typeof(MobilePartyAi), 76, null);
			base.AddClassDefinition(typeof(PartyBase), 77, null);
			base.AddClassDefinition(typeof(PlayerCaptivity), 79, null);
			base.AddClassDefinition(typeof(CampaignBattleResult), 80, null);
			base.AddClassDefinition(typeof(PlayerEncounter), 81, null);
			base.AddClassDefinition(typeof(PolicyObject), 85, null);
			base.AddClassDefinition(typeof(QuestBase), 86, null);
			base.AddClassDefinition(typeof(JournalLog), 87, null);
			base.AddClassDefinition(typeof(QuestManager), 88, null);
			base.AddClassDefinition(typeof(QuestTaskBase), 89, null);
			base.AddClassDefinition(typeof(Romance), 90, null);
			base.AddClassDefinition(typeof(ItemRoster), 91, null);
			base.AddClassDefinition(typeof(TroopRoster), 93, null);
			base.AddClassDefinition(typeof(FlattenedTroopRoster), 94, null);
			base.AddClassDefinition(typeof(Settlement), 95, null);
			base.AddClassDefinition(typeof(SettlementArea), 96, null);
			base.AddClassDefinition(typeof(SettlementComponent), 97, null);
			base.AddClassDefinition(typeof(SiegeEvent), 98, null);
			base.AddClassDefinition(typeof(SiegeEventManager), 99, null);
			base.AddClassDefinition(typeof(SiegeStrategy), 100, null);
			base.AddClassDefinition(typeof(TournamentGame), 101, null);
			base.AddClassDefinition(typeof(Fief), 102, null);
			base.AddClassDefinition(typeof(Town), 103, null);
			base.AddClassDefinition(typeof(Track), 104, null);
			base.AddClassDefinition(typeof(TrackedObject), 106, null);
			base.AddClassDefinition(typeof(TraitObject), 109, null);
			base.AddClassDefinition(typeof(Village), 112, null);
			base.AddClassDefinition(typeof(VillageType), 113, null);
			base.AddClassDefinition(typeof(VisualTrackerManager), 114, null);
			base.AddClassDefinition(typeof(Workshop), 115, null);
			base.AddClassDefinition(typeof(WorkshopType), 116, null);
			base.AddClassDefinition(typeof(FightTournamentGame), 119, null);
			base.AddClassDefinition(typeof(TournamentManager), 122, null);
			base.AddClassDefinition(typeof(CaptureAndBringNpcTask), 123, null);
			base.AddClassDefinition(typeof(ChangeCommonAreaOwnerQuestTask), 124, null);
			base.AddClassDefinition(typeof(ChangeSettlementOwnerTask), 125, null);
			base.AddClassDefinition(typeof(DefeatPartyQuestTask), 126, null);
			base.AddClassDefinition(typeof(ArmyCreationLogEntry), 128, null);
			base.AddClassDefinition(typeof(ArmyDispersionLogEntry), 129, null);
			base.AddClassDefinition(typeof(BattleStartedLogEntry), 130, null);
			base.AddClassDefinition(typeof(BesiegeSettlementLogEntry), 131, null);
			base.AddClassDefinition(typeof(ChangeAlleyOwnerLogEntry), 132, null);
			base.AddClassDefinition(typeof(ChangeRomanticStateLogEntry), 133, null);
			base.AddClassDefinition(typeof(ChangeSettlementOwnerLogEntry), 134, null);
			base.AddClassDefinition(typeof(CharacterBecameFugitiveLogEntry), 135, null);
			base.AddClassDefinition(typeof(CharacterBornLogEntry), 136, null);
			base.AddClassDefinition(typeof(CharacterInsultedLogEntry), 137, null);
			base.AddClassDefinition(typeof(CharacterKilledLogEntry), 138, null);
			base.AddClassDefinition(typeof(CharacterMarriedLogEntry), 139, null);
			base.AddClassDefinition(typeof(ChildbirthLogEntry), 140, null);
			base.AddClassDefinition(typeof(ClanChangeKingdomLogEntry), 141, null);
			base.AddClassDefinition(typeof(ClanLeaderChangedLogEntry), 142, null);
			base.AddClassDefinition(typeof(CommonAreaFightLogEntry), 143, null);
			base.AddClassDefinition(typeof(DeclareWarLogEntry), 145, null);
			base.AddClassDefinition(typeof(DefeatCharacterLogEntry), 146, null);
			base.AddClassDefinition(typeof(DestroyMobilePartyLogEntry), 147, null);
			base.AddClassDefinition(typeof(GatherArmyLogEntry), 148, null);
			base.AddClassDefinition(typeof(KingdomDecisionConcludedLogEntry), 149, null);
			base.AddClassDefinition(typeof(MakePeaceLogEntry), 150, null);
			base.AddClassDefinition(typeof(MercenaryClanChangedKingdomLogEntry), 151, null);
			base.AddClassDefinition(typeof(OverruleInfluenceLogEntry), 152, null);
			base.AddClassDefinition(typeof(PlayerAttackAlleyLogEntry), 153, null);
			base.AddClassDefinition(typeof(PlayerBattleEndedLogEntry), 154, null);
			base.AddClassDefinition(typeof(PlayerMeetLordLogEntry), 155, null);
			base.AddClassDefinition(typeof(PregnancyLogEntry), 156, null);
			base.AddClassDefinition(typeof(RebellionStartedLogEntry), 157, null);
			base.AddClassDefinition(typeof(SettlementClaimedLogEntry), 158, null);
			base.AddClassDefinition(typeof(TakePrisonerLogEntry), 159, null);
			base.AddClassDefinition(typeof(EndCaptivityLogEntry), 160, null);
			base.AddClassDefinition(typeof(TournamentWonLogEntry), 161, null);
			base.AddClassDefinition(typeof(VillageStateChangedLogEntry), 162, null);
			base.AddClassDefinition(typeof(DecisionOutcome), 164, null);
			base.AddClassDefinition(typeof(ExpelClanFromKingdomDecision), 165, null);
			base.AddClassDefinition(typeof(KingdomDecision), 166, null);
			base.AddClassDefinition(typeof(KingdomPolicyDecision), 167, null);
			base.AddClassDefinition(typeof(SettlementClaimantDecision), 168, null);
			base.AddClassDefinition(typeof(SettlementClaimantPreliminaryDecision), 169, null);
			base.AddClassDefinition(typeof(Supporter), 170, null);
			base.AddClassDefinition(typeof(Barterable), 173, null);
			base.AddClassDefinition(typeof(FiefBarterable), 174, null);
			base.AddClassDefinition(typeof(GoldBarterable), 175, null);
			base.AddClassDefinition(typeof(ItemBarterable), 176, null);
			base.AddClassDefinition(typeof(JoinKingdomAsClanBarterable), 177, null);
			base.AddClassDefinition(typeof(LeaveKingdomAsClanBarterable), 178, null);
			base.AddClassDefinition(typeof(MarriageBarterable), 179, null);
			base.AddClassDefinition(typeof(MercenaryJoinKingdomBarterable), 180, null);
			base.AddClassDefinition(typeof(PeaceBarterable), 181, null);
			base.AddClassDefinition(typeof(SetPrisonerFreeBarterable), 182, null);
			base.AddClassDefinition(typeof(TradeRumor), 183, null);
			base.AddClassDefinition(typeof(CampaignBehaviorDataStore.BehaviorSaveData), 184, null);
			base.AddClassDefinition(typeof(CharacterRelationManager.HeroRelations), 186, null);
			base.AddClassDefinition(typeof(StanceLink), 188, null);
			base.AddClassDefinition(typeof(Romance.RomanticState), 191, null);
			base.AddClassDefinition(typeof(SiegeEvent.RangedSiegeEngine), 194, null);
			base.AddClassDefinition(typeof(SiegeEvent.SiegeEngineConstructionProgress), 195, null);
			base.AddClassDefinition(typeof(ExpelClanFromKingdomDecision.ExpelClanDecisionOutcome), 203, null);
			base.AddClassDefinition(typeof(KingdomPolicyDecision.PolicyDecisionOutcome), 204, null);
			base.AddClassDefinition(typeof(SettlementClaimantDecision.ClanAsDecisionOutcome), 205, null);
			base.AddClassDefinition(typeof(SettlementClaimantPreliminaryDecision.SettlementClaimantPreliminaryOutcome), 206, null);
			base.AddClassDefinition(typeof(SiegeEvent.SiegeEnginesContainer), 226, null);
			base.AddClassDefinition(typeof(SiegeEvent.SiegeEngineMissile), 227, null);
			base.AddClassDefinition(typeof(SiegeEvent.SiegeEnginesContainer.RemovedSiegeEngine), 228, null);
			base.AddClassDefinition(typeof(SafePassageBarterable), 229, null);
			base.AddClassDefinition(typeof(CampaignBehaviorManager), 230, null);
			base.AddClassDefinition(typeof(JournalLogEntry), 236, null);
			base.AddClassDefinition(typeof(DeclareWarDecision), 237, null);
			base.AddClassDefinition(typeof(DeclareWarDecision.DeclareWarDecisionOutcome), 238, null);
			base.AddClassDefinition(typeof(MakePeaceKingdomDecision), 239, null);
			base.AddClassDefinition(typeof(MakePeaceKingdomDecision.MakePeaceDecisionOutcome), 240, null);
			base.AddClassDefinition(typeof(PerkObject), 241, null);
			base.AddClassDefinition(typeof(PlayerReputationChangesLogEntry), 243, null);
			base.AddClassDefinition(typeof(BesiegerCamp), 245, null);
			base.AddClassDefinition(typeof(KingdomDecisionAddedLogEntry), 246, null);
			base.AddClassDefinition(typeof(ArmyCreationMapNotification), 247, null);
			base.AddClassDefinition(typeof(ArmyDispersionMapNotification), 248, null);
			base.AddClassDefinition(typeof(ChildBornMapNotification), 249, null);
			base.AddClassDefinition(typeof(DeathMapNotification), 250, null);
			base.AddClassDefinition(typeof(KingdomDecisionMapNotification), 251, null);
			base.AddClassDefinition(typeof(MarriageMapNotification), 252, null);
			base.AddClassDefinition(typeof(PeaceMapNotification), 253, null);
			base.AddClassDefinition(typeof(SettlementRebellionMapNotification), 254, null);
			base.AddClassDefinition(typeof(WarMapNotification), 256, null);
			base.AddClassDefinition(typeof(KingSelectionKingdomDecision), 257, null);
			base.AddClassDefinition(typeof(KingSelectionKingdomDecision.KingSelectionDecisionOutcome), 258, null);
			base.AddClassDefinition(typeof(PersuasionOptionArgs), 259, null);
			base.AddClassDefinition(typeof(PersuasionAttempt), 260, null);
			base.AddClassDefinition(typeof(CampaignOptions), 261, null);
			base.AddClassDefinition(typeof(TransferPrisonerBarterable), 262, null);
			base.AddClassDefinition(typeof(KingdomDestroyedLogEntry), 263, null);
			base.AddClassDefinition(typeof(SettlementUnderSiegeMapNotification), 264, null);
			base.AddClassDefinition(typeof(SettlementOwnerChangedMapNotification), 265, null);
			base.AddClassDefinition(typeof(IssueQuestLogEntry), 266, null);
			base.AddClassDefinition(typeof(IssueQuestStartLogEntry), 267, null);
			base.AddClassDefinition(typeof(IssueCoolDownData), 268, null);
			base.AddClassDefinition(typeof(HeroRelatedIssueCoolDownData), 269, null);
			base.AddClassDefinition(typeof(EducationMapNotification), 271, null);
			base.AddClassDefinition(typeof(PartyComponent), 272, null);
			base.AddClassDefinition(typeof(GarrisonPartyComponent), 273, null);
			base.AddClassDefinition(typeof(LordPartyComponent), 274, null);
			base.AddClassDefinition(typeof(VillagerPartyComponent), 275, null);
			base.AddClassDefinition(typeof(BanditPartyComponent), 277, null);
			base.AddClassDefinition(typeof(CaravanPartyComponent), 278, null);
			base.AddClassDefinition(typeof(MilitiaPartyComponent), 280, null);
			base.AddClassDefinition(typeof(FactionManagerStancesData), 281, null);
			base.AddClassDefinition(typeof(CampaignObjectManager), 282, null);
			base.AddClassDefinition(typeof(TraitChangedMapNotification), 283, null);
			base.AddClassDefinition(typeof(WarPartyComponent), 284, null);
			base.AddClassDefinition(typeof(RansomOfferMapNotification), 285, null);
			base.AddClassDefinition(typeof(CampaignPeriodicEventManager), 286, null);
			base.AddClassDefinition(typeof(CustomPartyComponent), 287, null);
			base.AddClassDefinition(typeof(CharacterAttributes), 288, null);
			base.AddClassDefinition(typeof(CraftingOrder), 289, null);
			base.AddClassDefinition(typeof(PeaceOfferMapNotification), 291, null);
			base.AddClassDefinition(typeof(PlayerCharacterChangedLogEntry), 292, null);
			base.AddClassDefinition(typeof(CampaignPeriodicEventManager.PeriodicTicker<>), 293, null);
			base.AddClassDefinition(typeof(OrderOfBattleCampaignBehavior.OrderOfBattleFormationData), 295, null);
			base.AddClassDefinition(typeof(MarriageOfferMapNotification), 297, null);
			base.AddClassDefinition(typeof(PartyLeaderChangeNotification), 298, null);
			base.AddClassDefinition(typeof(MercenaryOfferMapNotification), 299, null);
			base.AddClassDefinition(typeof(VassalOfferMapNotification), 300, null);
			base.AddClassDefinition(typeof(HeirComeOfAgeMapNotification), 301, null);
			base.AddClassDefinition(typeof(KingdomDestroyedMapNotification), 302, null);
			base.AddClassDefinition(typeof(ClanDestroyedLogEntry), 303, null);
			base.AddClassDefinition(typeof(SiegeAftermathLogEntry), 304, null);
			base.AddClassDefinition(typeof(AlleyLeaderDiedMapNotification), 305, null);
			base.AddClassDefinition(typeof(AlleyUnderAttackMapNotification), 306, null);
			base.AddClassDefinition(typeof(PlayerRetiredLogEntry), 307, null);
			base.AddClassDefinition(typeof(RetirementSettlementComponent), 308, null);
			base.AddClassDefinition(typeof(MapEventComponent), 309, null);
			base.AddClassDefinition(typeof(ForceSuppliesEventComponent), 310, null);
			base.AddClassDefinition(typeof(ForceVolunteersEventComponent), 311, null);
			base.AddClassDefinition(typeof(RaidEventComponent), 312, null);
			base.AddClassDefinition(typeof(FieldBattleEventComponent), 313, null);
			base.AddClassDefinition(typeof(HideoutEventComponent), 314, null);
			base.AddClassDefinition(typeof(SiegeAmbushEventComponent), 315, null);
		}

		// Token: 0x06001174 RID: 4468 RVA: 0x000501DC File Offset: 0x0004E3DC
		protected override void DefineStructTypes()
		{
			base.AddStructDefinition(typeof(CampaignTime), 1001, null);
			base.AddStructDefinition(typeof(ItemData), 1002, null);
			base.AddStructDefinition(typeof(PartyTemplateStack), 1003, null);
			base.AddStructDefinition(typeof(FlattenedTroopRosterElement), 1004, null);
			base.AddStructDefinition(typeof(TroopRosterElement), 1005, null);
			base.AddStructDefinition(typeof(Town.SellLog), 1009, null);
		}

		// Token: 0x06001175 RID: 4469 RVA: 0x00050270 File Offset: 0x0004E470
		protected override void DefineEnumTypes()
		{
			base.AddEnumDefinition(typeof(CampaignTimeControlMode), 2001, null);
			base.AddEnumDefinition(typeof(Occupation), 2002, null);
			base.AddEnumDefinition(typeof(FacesMaleHair), 2003, null);
			base.AddEnumDefinition(typeof(FacesFemaleHair), 2004, null);
			base.AddEnumDefinition(typeof(FacesMaleFacialHair), 2005, null);
			base.AddEnumDefinition(typeof(CampaignGameMode), 2008, null);
			base.AddEnumDefinition(typeof(ImportanceEnum), 2009, null);
			base.AddEnumDefinition(typeof(MapEventState), 2011, null);
			base.AddEnumDefinition(typeof(AiBehavior), 2013, null);
			base.AddEnumDefinition(typeof(MoveModeType), 2014, null);
			base.AddEnumDefinition(typeof(PlayerEncounterState), 2015, null);
			base.AddEnumDefinition(typeof(RosterTroopState), 2016, null);
			base.AddEnumDefinition(typeof(Army.AIBehaviorFlags), 2020, null);
			base.AddEnumDefinition(typeof(Army.ArmyTypes), 2021, null);
			base.AddEnumDefinition(typeof(Army.ArmyDispersionReason), 2023, null);
			base.AddEnumDefinition(typeof(MobileParty.PartyObjective), 2025, null);
			base.AddEnumDefinition(typeof(StanceType), 2029, null);
			base.AddEnumDefinition(typeof(ActionNotes), 2030, null);
			base.AddEnumDefinition(typeof(MenuContext.MenuContextState), 2031, null);
			base.AddEnumDefinition(typeof(Hero.CharacterStates), 2032, null);
			base.AddEnumDefinition(typeof(IssueBase.IssueState), 2034, null);
			base.AddEnumDefinition(typeof(MapEvent.BattleTypes), 2036, new BattleTypeEnumResolver());
			base.AddEnumDefinition(typeof(QuestBase.QuestStates), 2041, null);
			base.AddEnumDefinition(typeof(QuestTaskBase.FinishStates), 2042, null);
			base.AddEnumDefinition(typeof(Romance.RomanceLevelEnum), 2043, null);
			base.AddEnumDefinition(typeof(Settlement.SiegeState), 2048, null);
			base.AddEnumDefinition(typeof(SettlementComponent.ProsperityLevel), 2049, null);
			base.AddEnumDefinition(typeof(TournamentGame.QualificationMode), 2051, null);
			base.AddEnumDefinition(typeof(Village.VillageStates), 2055, null);
			base.AddEnumDefinition(typeof(KingdomDecision.SupportStatus), 2056, null);
			base.AddEnumDefinition(typeof(Supporter.SupportWeights), 2057, null);
			base.AddEnumDefinition(typeof(KillCharacterAction.KillCharacterActionDetail), 2058, null);
			base.AddEnumDefinition(typeof(SiegeBombardTargets), 2059, null);
			base.AddEnumDefinition(typeof(QuestBase.QuestCompleteDetails), 2061, null);
			base.AddEnumDefinition(typeof(Track.PartyTypeEnum), 2062, null);
			base.AddEnumDefinition(typeof(SettlementAccessModel.AccessLevel), 2067, null);
			base.AddEnumDefinition(typeof(SettlementAccessModel.AccessMethod), 2068, null);
			base.AddEnumDefinition(typeof(SettlementAccessModel.AccessLimitationReason), 2069, null);
			base.AddEnumDefinition(typeof(SettlementAccessModel.LimitedAccessSolution), 2070, null);
			base.AddEnumDefinition(typeof(SettlementAccessModel.PreliminaryActionObligation), 2071, null);
			base.AddEnumDefinition(typeof(SettlementAccessModel.PreliminaryActionType), 2072, null);
			base.AddEnumDefinition(typeof(PersuasionOptionResult), 2075, null);
			base.AddEnumDefinition(typeof(PersuasionArgumentStrength), 2076, null);
			base.AddEnumDefinition(typeof(TraitEffect), 2077, null);
			base.AddEnumDefinition(typeof(CampaignOptions.Difficulty), 2078, null);
			base.AddEnumDefinition(typeof(LogType), 2079, null);
			base.AddEnumDefinition(typeof(EndCaptivityDetail), 2080, new EndCaptivityDetailEnumResolver());
			base.AddEnumDefinition(typeof(BuildingEffectEnum), 2090, null);
			base.AddEnumDefinition(typeof(SiegeAftermathAction.SiegeAftermath), 2100, null);
			base.AddEnumDefinition(typeof(IssueBase.IssueUpdateDetails), 2120, null);
			base.AddEnumDefinition(typeof(DeploymentFormationClass), 2130, null);
			base.AddEnumDefinition(typeof(FormationFilterType), 2140, null);
		}

		// Token: 0x06001176 RID: 4470 RVA: 0x00050700 File Offset: 0x0004E900
		protected override void DefineInterfaceTypes()
		{
			base.AddInterfaceDefinition(typeof(IFaction), 3001);
			base.AddInterfaceDefinition(typeof(ITrackableCampaignObject), 3002);
			base.AddInterfaceDefinition(typeof(ILocatable<>), 3003);
			base.AddInterfaceDefinition(typeof(ISiegeEventSide), 3004);
			base.AddInterfaceDefinition(typeof(ISpottable), 3005);
		}

		// Token: 0x06001177 RID: 4471 RVA: 0x00050778 File Offset: 0x0004E978
		protected override void DefineGenericClassDefinitions()
		{
			base.ConstructGenericClassDefinition(typeof(MBReadOnlyDictionary<Hero, short>));
			base.ConstructGenericClassDefinition(typeof(Tuple<CampaignTime, IFaction>));
			base.ConstructGenericClassDefinition(typeof(Tuple<Kingdom, Kingdom>));
			base.ConstructGenericClassDefinition(typeof(Tuple<Kingdom, CampaignTime>));
			base.ConstructGenericClassDefinition(typeof(Tuple<TraitObject, int>));
			base.ConstructGenericClassDefinition(typeof(PriorityQueue<int, KeyValuePair<UniqueTroopDescriptor, MapEventParty>>));
			base.ConstructGenericClassDefinition(typeof(CampaignPeriodicEventManager.PeriodicTicker<MobileParty>));
			base.ConstructGenericClassDefinition(typeof(CampaignPeriodicEventManager.PeriodicTicker<Settlement>));
			base.ConstructGenericClassDefinition(typeof(CampaignPeriodicEventManager.PeriodicTicker<Clan>));
			base.ConstructGenericClassDefinition(typeof(CampaignPeriodicEventManager.PeriodicTicker<Town>));
			base.ConstructGenericClassDefinition(typeof(CampaignPeriodicEventManager.PeriodicTicker<Hero>));
		}

		// Token: 0x06001178 RID: 4472 RVA: 0x00050838 File Offset: 0x0004EA38
		protected override void DefineGenericStructDefinitions()
		{
			base.ConstructGenericStructDefinition(typeof(ValueTuple<IFaction, IFaction>));
			base.ConstructGenericStructDefinition(typeof(KeyValuePair<UniqueTroopDescriptor, MapEventParty>));
			base.ConstructGenericStructDefinition(typeof(KeyValuePair<int, KeyValuePair<UniqueTroopDescriptor, MapEventParty>>));
			base.ConstructGenericStructDefinition(typeof(KeyValuePair<Hero, short>));
			base.ConstructGenericStructDefinition(typeof(KeyValuePair<Hero, CraftingOrder>));
			base.ConstructGenericStructDefinition(typeof(KeyValuePair<Settlement, ItemRoster>));
		}

		// Token: 0x06001179 RID: 4473 RVA: 0x000508A8 File Offset: 0x0004EAA8
		protected override void DefineContainerDefinitions()
		{
			base.ConstructContainerDefinition(typeof(VillageType[]));
			base.ConstructContainerDefinition(typeof(BuildingType[]));
			base.ConstructContainerDefinition(typeof(Hero[]));
			base.ConstructContainerDefinition(typeof(Town[]));
			base.ConstructContainerDefinition(typeof(CharacterObject[]));
			base.ConstructContainerDefinition(typeof(Workshop[]));
			base.ConstructContainerDefinition(typeof(MapEventSide[]));
			base.ConstructContainerDefinition(typeof(Clan[]));
			base.ConstructContainerDefinition(typeof(SiegeEvent.SiegeEngineConstructionProgress[]));
			base.ConstructContainerDefinition(typeof(TroopRosterElement[]));
			base.ConstructContainerDefinition(typeof(Town.SellLog[]));
			base.ConstructContainerDefinition(typeof(CampaignTime[]));
			base.ConstructContainerDefinition(typeof(MobileParty[]));
			base.ConstructContainerDefinition(typeof(Settlement[]));
			base.ConstructContainerDefinition(typeof(CraftingOrder[]));
			base.ConstructContainerDefinition(typeof(KeyValuePair<Hero, CraftingOrder>[]));
			base.ConstructContainerDefinition(typeof(KeyValuePair<Hero, short>[]));
			base.ConstructContainerDefinition(typeof(Tuple<TraitObject, int>[]));
			base.ConstructContainerDefinition(typeof(List<KingdomDecision>));
			base.ConstructContainerDefinition(typeof(List<QuestBase>));
			base.ConstructContainerDefinition(typeof(List<Hero>));
			base.ConstructContainerDefinition(typeof(List<Romance.RomanticState>));
			base.ConstructContainerDefinition(typeof(List<SiegeEvent>));
			base.ConstructContainerDefinition(typeof(List<MapEvent>));
			base.ConstructContainerDefinition(typeof(List<LogEntry>));
			base.ConstructContainerDefinition(typeof(List<TrackedObject>));
			base.ConstructContainerDefinition(typeof(List<TournamentGame>));
			base.ConstructContainerDefinition(typeof(List<Track>));
			base.ConstructContainerDefinition(typeof(List<Workshop>));
			base.ConstructContainerDefinition(typeof(List<Alley>));
			base.ConstructContainerDefinition(typeof(List<MobileParty>));
			base.ConstructContainerDefinition(typeof(List<SettlementComponent>));
			base.ConstructContainerDefinition(typeof(List<Village>));
			base.ConstructContainerDefinition(typeof(List<CharacterObject>));
			base.ConstructContainerDefinition(typeof(List<CultureObject>));
			base.ConstructContainerDefinition(typeof(List<IFaction>));
			base.ConstructContainerDefinition(typeof(List<Clan>));
			base.ConstructContainerDefinition(typeof(List<Kingdom>));
			base.ConstructContainerDefinition(typeof(List<TraitObject>));
			base.ConstructContainerDefinition(typeof(List<VillageType>));
			base.ConstructContainerDefinition(typeof(List<BuildingType>));
			base.ConstructContainerDefinition(typeof(List<PartyTemplateObject>));
			base.ConstructContainerDefinition(typeof(List<Settlement>));
			base.ConstructContainerDefinition(typeof(List<WorkshopType>));
			base.ConstructContainerDefinition(typeof(List<Hideout>));
			base.ConstructContainerDefinition(typeof(List<RetirementSettlementComponent>));
			base.ConstructContainerDefinition(typeof(List<Town>));
			base.ConstructContainerDefinition(typeof(List<MenuContext>));
			base.ConstructContainerDefinition(typeof(List<PolicyObject>));
			base.ConstructContainerDefinition(typeof(List<Concept>));
			base.ConstructContainerDefinition(typeof(List<IssueBase>));
			base.ConstructContainerDefinition(typeof(List<IssueEffect>));
			base.ConstructContainerDefinition(typeof(List<SiegeStrategy>));
			base.ConstructContainerDefinition(typeof(List<Building>));
			base.ConstructContainerDefinition(typeof(List<Army>));
			base.ConstructContainerDefinition(typeof(List<Location>));
			base.ConstructContainerDefinition(typeof(List<SiegeEvent.SiegeEngineConstructionProgress>));
			base.ConstructContainerDefinition(typeof(List<AccompanyingCharacter>));
			base.ConstructContainerDefinition(typeof(List<TroopRosterElement>));
			base.ConstructContainerDefinition(typeof(List<PartyBase>));
			base.ConstructContainerDefinition(typeof(List<QuestTaskBase>));
			base.ConstructContainerDefinition(typeof(List<JournalLog>));
			base.ConstructContainerDefinition(typeof(List<KeyValuePair<int, KeyValuePair<UniqueTroopDescriptor, MapEventParty>>>));
			base.ConstructContainerDefinition(typeof(List<SiegeEvent.SiegeEngineMissile>));
			base.ConstructContainerDefinition(typeof(List<SiegeEvent.SiegeEnginesContainer.RemovedSiegeEngine>));
			base.ConstructContainerDefinition(typeof(List<Barterable>));
			base.ConstructContainerDefinition(typeof(List<TradeRumor>));
			base.ConstructContainerDefinition(typeof(List<ITrackableCampaignObject>));
			base.ConstructContainerDefinition(typeof(List<PerkObject>));
			base.ConstructContainerDefinition(typeof(List<CampaignTime>));
			base.ConstructContainerDefinition(typeof(List<Supporter>));
			base.ConstructContainerDefinition(typeof(List<PersuasionAttempt>));
			base.ConstructContainerDefinition(typeof(List<IssueBase.IssueUpdateDetails>));
			base.ConstructContainerDefinition(typeof(List<KeyValuePair<Hero, short>>));
			base.ConstructContainerDefinition(typeof(List<Tuple<Kingdom, Kingdom>>));
			base.ConstructContainerDefinition(typeof(List<IssueCoolDownData>));
			base.ConstructContainerDefinition(typeof(List<MapEventParty>));
			base.ConstructContainerDefinition(typeof(List<CraftingOrder>));
			base.ConstructContainerDefinition(typeof(List<OrderOfBattleCampaignBehavior.OrderOfBattleFormationData>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, short>));
			base.ConstructContainerDefinition(typeof(Queue<Building>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, MobileParty>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, CharacterObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, CultureObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Clan>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Kingdom>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, TraitObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, VillageType>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, BuildingType>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, PartyTemplateObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Settlement>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, WorkshopType>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Village>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Hideout>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, RetirementSettlementComponent>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Town>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Hero>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, QuestBase>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, MapEvent>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, MenuContext>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, PolicyObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, Concept>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, IssueBase>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, IssueEffect>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, SiegeStrategy>));
			base.ConstructContainerDefinition(typeof(Dictionary<MBGUID, PerkObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, CharacterObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, CultureObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, MobileParty>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Clan>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Kingdom>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, TraitObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, VillageType>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, BuildingType>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, PartyTemplateObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Settlement>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, WorkshopType>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Village>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Hideout>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, RetirementSettlementComponent>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Town>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Hero>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, QuestBase>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, MapEvent>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, MenuContext>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, PolicyObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Concept>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, IssueBase>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, IssueEffect>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, SiegeStrategy>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, Location>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, PerkObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<object, List<QuestBase>>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, IssueBase>));
			base.ConstructContainerDefinition(typeof(Dictionary<ValueTuple<IFaction, IFaction>, StanceLink>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<Settlement, List<TournamentGame>>));
			base.ConstructContainerDefinition(typeof(Dictionary<Settlement, TournamentGame>));
			base.ConstructContainerDefinition(typeof(Dictionary<CharacterObject, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<Settlement, float>));
			base.ConstructContainerDefinition(typeof(Dictionary<IFaction, float>));
			base.ConstructContainerDefinition(typeof(Dictionary<IFaction, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<TraitObject, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<ItemCategory, ItemData>));
			base.ConstructContainerDefinition(typeof(Dictionary<UniqueTroopDescriptor, MapEventParty>));
			base.ConstructContainerDefinition(typeof(Dictionary<PartyBase, MapEventParty>));
			base.ConstructContainerDefinition(typeof(Dictionary<SiegeEvent.SiegeEngineConstructionProgress, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<IFaction, List<Settlement>>));
			base.ConstructContainerDefinition(typeof(Dictionary<int, PartyBase>));
			base.ConstructContainerDefinition(typeof(Dictionary<IssueEffect, float>));
			base.ConstructContainerDefinition(typeof(Dictionary<UniqueTroopDescriptor, FlattenedTroopRosterElement>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, CampaignBehaviorDataStore.BehaviorSaveData>));
			base.ConstructContainerDefinition(typeof(Dictionary<MobileParty, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<CharacterObject, float>));
			base.ConstructContainerDefinition(typeof(Dictionary<MobileParty, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<MobileParty, float>));
			base.ConstructContainerDefinition(typeof(Dictionary<Settlement, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<Settlement, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<CharacterObject, CharacterObject>));
			base.ConstructContainerDefinition(typeof(Dictionary<PerkObject, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, List<CampaignTime>>));
			base.ConstructContainerDefinition(typeof(Dictionary<MobileParty, Town>));
			base.ConstructContainerDefinition(typeof(Dictionary<Village, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<Village, bool>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, Hero.CharacterStates>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, bool>));
			base.ConstructContainerDefinition(typeof(Dictionary<Workshop, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<CharacterObject, FormationClass>));
			base.ConstructContainerDefinition(typeof(Dictionary<PartyBase, float>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, List<IssueCoolDownData>>));
			base.ConstructContainerDefinition(typeof(Dictionary<Clan, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<Clan, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<CultureObject, Dictionary<int, int>>));
			base.ConstructContainerDefinition(typeof(Dictionary<MobileParty, List<Settlement>>));
			base.ConstructContainerDefinition(typeof(Dictionary<Building, int>));
			base.ConstructContainerDefinition(typeof(Dictionary<int, MobileParty>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, CraftingOrder>));
			base.ConstructContainerDefinition(typeof(Dictionary<string, List<CraftingOrder>>));
			base.ConstructContainerDefinition(typeof(Dictionary<ITrackableCampaignObject, List<QuestBase>>));
			base.ConstructContainerDefinition(typeof(Dictionary<Town, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<Kingdom, CampaignTime>));
			base.ConstructContainerDefinition(typeof(Dictionary<FormationFilterType, bool>));
			base.ConstructContainerDefinition(typeof(Dictionary<MobileParty, Vec2>));
			base.ConstructContainerDefinition(typeof(Dictionary<Hero, ValueTuple<int, int>>));
			base.ConstructContainerDefinition(typeof(KeyValuePair<Settlement, ItemRoster>[]));
		}
	}
}
